function getOption(response,title,names){

    let colorList = ["#bbadf4", '#73DDFF', '#fe9a8b', '#F56948', '#401dce'];
    let series=[];

    for (let i = 0; i < response.data.yaxis.length; i++) {
        const element = response.data.yaxis[i];
        series.push({
            "name": response.data.ynameList[i],
            "type": 'line',
            "smooth": true,
            "label": {
                "show": true, // 设置数据标签显示
                "position": 'top' // 设置数据标签显示在柱形的顶部
            },
            "data": element
        });
    }

    let option = {
        backgroundColor: '#fff',
        title: {
            text: title,
            left: "18px",
            top: "0",
            color: "#999",
            fontSize: 12,
            fontWeight: '400'
        },
        graphic: {
            type: 'text',     // 类型：文本
            left: 'center',
            top: 'middle',
            silent: true,     // 不响应事件
            invisible: response.data.xaxis!=null,   // 有数据就隐藏
            style: {
                fill: '#9d9d9d',
                fontWeight: 'bold',
                text: '暂无数据',
                fontFamily: 'Microsoft YaHei',
                fontSize: '25px'
            }
        },
        tooltip: {
            trigger: 'axis',
            axisPointer: {
                type: 'cross',
                crossStyle: {
                    color: '#999'
                },
                lineStyle: {
                    type: 'dashed'
                }
            }
        },
        grid: {
            left: '25',
            right: '25',
            bottom: '24',
            top: '75',
            containLabel: true
        },
        legend: {
            data: names,
            orient: 'horizontal',
            icon: "rect",
            show: true,
            left: 20,
            top: 25,
        },
        xAxis: {
            type: 'category',
            data: response.data&&response.data.xaxis?response.data.xaxis:[],
            splitLine: {
                show: false
            },
            axisTick: {
                show: false
            },
            axisLine: {
                show: false
            }
            , triggerEvent:true
            ,axisLabel: {
                interval:0,//代表显示所有x轴标签显示
                rotate:45, //代表逆时针旋转45度
                textStyle: {
                    fontSize: 12,
                    color: function(value) {
                        if(value.includes('Ⅰ')){
                            return colorList[0];
                        }else if(value.includes('Ⅱ')){
                            return colorList[1];
                        }else if(value.includes('Ⅲ')){
                            return colorList[2];
                        }else{
                            return '#3f3e3e';
                        }
                    }
                }
            }
        },
        yAxis: {
            min:'dataMin', //取最小值为最小刻度
            max: 'dataMax', //取最大值为最大刻度
   
            min: function(value) {//取最小值向下取整为最小刻度
              return Math.floor(value.min)
            },
            max: function(value) {//取最大值向上取整为最大刻度
              return  Math.ceil(value.max) 
            },
            type: 'value',
            axisLabel: {
                color: '#999',
                fontSize: 12
            },
            splitLine: {
                show: true,
                lineStyle: {
                    color: '#F3F4F4'
                }
            },
            axisTick: {
                show: false
            },
            axisLine: {
                show: false
            },
        },
        series: series
    };
    return option;
}

function getBarOption(response, title, names) {
    let colorList = ["#bbadf4", '#73DDFF', '#fe9a8b', '#F56948', '#401dce'];

    let dataTotal=response.data.totalYAxis;

    let series = [];

    for (let i = 0; i < response.data.yaxis.length; i++) {
        const element = response.data.yaxis[i];
        series.push({
            "name": response.data.ynameList[i],
            "type": 'bar',
            "barWidth": 20,  // 将类型改为柱状图
            "barGap":'50%',
            "stack": 'total'+i,
            "label": {
                "show": true, // 设置数据标签显示
                "position": 'top' // 设置数据标签显示在柱形的顶部
            },
            "data": element
        });
        series.push({
            "name": response.data.ynameList[i],
            "type": 'bar',
            "barWidth": 20,  // 将类型改为柱状图
            "barGap":'50%',
            "stack": 'total'+i,
            "label": {
                "show": false, // 设置数据标签显示
                "position": 'top', // 设置数据标签显示在柱形的顶部
            },
            itemStyle: {
                normal: {
                    color: '#16b777' // 成本的颜色
                }
            },
            "data": dataTotal.map((value, index) => (value - element[index]).toFixed(2))
        });
    }

    let option = {
        backgroundColor: '#fff',
        title: {
            text: title,
            left: "18px",
            top: "0",
            color: "#999",
            fontSize: 12,
            fontWeight: '400'
        },
        graphic: {
            type: 'text',     // 类型：文本
            left: 'center',
            top: 'middle',
            silent: true,     // 不响应事件
            invisible: response.data.xaxis != null, // 有数据就隐藏
            style: {
                fill: '#9d9d9d',
                fontWeight: 'bold',
                text: '暂无数据',
                fontFamily: 'Microsoft YaHei',
                fontSize: '25px'
            }
        },
        tooltip: {
            trigger: 'axis',
            axisPointer: {
                type: 'cross'
            },
            label: {
                show: true,
                backgroundColor: 'rgba(0,0,0,0.2)', // 标签背景颜色，用作阴影
                borderColor: 'rgba(0,0,0,0.2)', // 标签边框颜色
                borderWidth: 1, // 标签边框宽度
                padding: [5, 10], // 标签内边距
                rich: {
                    shadow: {
                        width: 5, // 阴影宽度
                        height: 5, // 阴影高度
                        backgroundColor: 'rgba(0,0,0,0.2)' // 阴影背景颜色
                    }
                }
            },
            // 格式化 tooltip 显示的内容
            formatter: function (params) {
                // 假设 params 是一个数组，包含了所有系列的数据
                var tooltipStr = params[0].axisValue; // 获取 x 轴的值
                var total = 0; // 用于计算堆叠的总和
                params.forEach(function (item) {
                total += item.value; // 累加每个系列的值
                });
                for (let index = 0; index < params.length; index+=2) {
                    tooltipStr += '<br/>' + params[index].seriesName + ' : ' + params[index].value+' 满分差: ' + params[index+1].value   
                }
                return tooltipStr;
            }
        },
        textStyle: {
            color: '#000', // 设置 tooltip 字体颜色为浅灰色
        },
        grid: {
            left: '25',
            right: '25',
            bottom: '24',
            top: '75',
            containLabel: true
        },
        legend: {
            data: names,
            orient: 'horizontal',
            icon: "rect",
            show: true,
            left: 20,
            top: 25,
        },
        xAxis: {
            type: 'category',
            data: response.data && response.data.xaxis ? response.data.xaxis : [],
            splitLine: {
                show: false
            },
            axisTick: {
                show: false
            },
            axisLine: {
                show: false
            },
            triggerEvent: true,
            axisLabel: {
                interval: 0, // 代表显示所有x轴标签
                rotate: 45, // 代表逆时针旋转45度
                textStyle: {
                    fontSize: 12,
                    color: function (value) {
                        if (value.includes('Ⅰ')) {
                            return colorList[0];
                        } else if (value.includes('Ⅱ')) {
                            return colorList[1];
                        } else if (value.includes('Ⅲ')) {
                            return colorList[2];
                        } else {
                            return '#3f3e3e';
                        }
                    }
                }
            }
        },
        yAxis: {
            min: 0, // 取最小值为最小刻度
            max: 'dataMax', // 取最大值为最大刻度
            min: 0,
            max: function (value) { // 取最大值向上取整为最大刻度
                return Math.ceil(value.max);
            },
            type: 'value',
            axisLabel: {
                color: '#999',
                fontSize: 12
            },
            splitLine: {
                show: true,
                lineStyle: {
                    color: '#F3F4F4'
                }
            },
            axisTick: {
                show: false
            },
            axisLine: {
                show: false
            },
        },
        series: series
    };
    return option;
}


